package procilege.lang;

import java.util.Collection;

public interface PrivilegeFormAnalysis {

	PrivilegeForm privform(Name name);

	PrivilegeForm privform(PrivExprElement expr);

	Collection<PrivilegeFormTerm> expandableTerms(PrivilegeForm privform);

	Collection<PrivilegeFormTerm> normalTerms(PrivilegeForm privform);

	Collection<PrivExprMergence> normlize(Name name);

	Collection<PrivExprMergence> normlize(PrivilegeForm pf);

	boolean available(PrivilegeFormTerm t);

	boolean available(PrivilegeForm privform);

	@SuppressWarnings("unchecked")
	boolean congruent(PrivilegeForm pfm1, PrivilegeForm pfm2);

}